What moves us?¶

We all have been involved, in many different ways, with COVID and we all know how does it fell to be powerless in front of such a cathastrophe.. So what if for a moment we forget about the current situation? What if all of that didn't happen?...

Our Goal...¶

Our objective is to answer the question:

  • If COVID was not a thing, what would the current Job Market situation be?

The analysis focuses on two Job Areas which involve (more or less direclty) ourselves:

  • Healthcare
  • Scientific and Technical Industry

...Furthermore¶

We want to bring attention to the whole class of Workers which are over 40 yrs old.

  • They are the ones who are more fragile and who risk more than yougsters because they probably have duties others do not have..

What's our data like?¶

In [3]:
df_cessati.head()
Out[3]:
DATA GENERE ETA SETTOREECONOMICODETTAGLIO TITOLOSTUDIO CONTRATTO MODALITALAVORO PROVINCIAIMPRESA ITALIANO
0 02/04/2019 M 20 Lavori di meccanica generale DIPLOMA DI ISTRUZIONE SECONDARIA SUPERIORE CH... APPRENDISTATO PROFESSIONALIZZANTE O CONTRATTO ... TEMPO PIENO BERGAMO ITALIA
1 08/06/2018 F 28 Fabbricazione di altre apparecchiature elettri... DIPLOMA DI ISTRUZIONE SECONDARIA SUPERIORE CH... APPRENDISTATO PROFESSIONALIZZANTE O CONTRATTO ... TEMPO PIENO BERGAMO ITALIA
2 02/02/2016 F 20 Fabbricazione di altre apparecchiature elettri... DIPLOMA DI ISTRUZIONE SECONDARIA SUPERIORE CH... APPRENDISTATO PROFESSIONALIZZANTE O CONTRATTO ... TEMPO PIENO BERGAMO ITALIA
3 12/01/2015 M 59 Gestioni di funicolari, ski-lift e seggiovie s... LICENZA MEDIA LAVORO A TEMPO DETERMINATO TEMPO PIENO BERGAMO ITALIA
4 09/08/2017 M 61 Gestioni di funicolari, ski-lift e seggiovie s... LICENZA MEDIA LAVORO A TEMPO DETERMINATO TEMPO PIENO BERGAMO ITALIA

We do not need all of that !!¶

  • For our study all of these features were too many and not well orgnized. For this reason we decided to cut some, aggregate others and reshape the dataset in order to have something to work with.

Data reshaping¶

We operated the following modification to the data:

  • Merged the two datasets (Hiring and Firing) adding a discriminant column.
  • Dropped the nulls: while doing this we made sure that no biases were introduced in the data by analyzing both the before and after distribution of the data
  • Joined the whole dataset with a smaller one called "Ateco Codes: this was done in order to reduce the number of different classes otherwise we should've studied
  • Grouped the result classes so that we could have and aggregation for boht the total number of Hired and Fired people
In [50]:
# Snapshot of Activated Contracts after refinement
df_attivati_over_40.groupby(["HYPER_CATEGORIA_ATECO"]).count().head()
Out[50]:
DATA GENERE ETA SETTOREECONOMICODETTAGLIO TITOLOSTUDIO CONTRATTO MODALITALAVORO PROVINCIAIMPRESA NAZIONALITA MODALITA ANNO MESE Codice_ateco MACRO_CATEGORIA_ATECO
HYPER_CATEGORIA_ATECO
A 85440 85440 85440 85440 85440 85440 85440 85440 85440 85440 85440 85440 85440 85440
B 2205 2205 2205 2205 2205 2205 2205 2205 2205 2205 2205 2205 2205 2205
C 484451 484451 484451 484451 484451 484451 484451 484451 484451 484451 484451 484451 484451 484451
D 2732 2732 2732 2732 2732 2732 2732 2732 2732 2732 2732 2732 2732 2732
E 12142 12142 12142 12142 12142 12142 12142 12142 12142 12142 12142 12142 12142 12142

Seasonality study¶

Hiring trends for both categories¶

2%20merged.png

Firing trends for both categories¶

Merged.png

Stationarity study - 1¶

Scientific and Technical professional activities¶

MergeATTORPTEX.png

Stationarity study - 2¶

Healthcare¶

MErgeSAn.png

In [75]:
# Ricalcolo del valore p-value
p_value(df_San_1["VALUE_y"].diff())
ADF Statistic: -7.233275
p-value: 0.000000

Time Series Forecasting¶

  • Gather parameters for models
  • Split dataset (80-20)
  • Apply models

Scientific and Technical professional activities: Hiring¶

In [79]:
# Predizione dei valori relativi alle assunzioni durante questo biennio
pred_Att_Ass_Arima = Predict(train_Att_Assunzioni,test_Att_Assunzioni,0,0,0,30)

SarimaxAssunzioniATTPROTEC.png

In [82]:
#Printa le metriche di valutazione per il modello Sarima
Evaluation_Metrics(test_Att_Assunzioni,pred_Att_Ass_Sarima.predicted_mean)
RMSE: 432.321374

Time Series Forecasting¶

Scientific and Technical professional activities: Firing¶

SARIMAX_ATTPROTEC_LICENZIAMENTI.png

In [89]:
# Printa le metriche di valutazione per il modello sarima
Evaluation_Metrics(test_Att_Licenziamenti,pred_Att_Lic_Sarima.predicted_mean)
RMSE: 77.263873

Vediamo che i licenziamenti, in linea generale non sono stati cosi tanto impattati dal covid... Possibile funzionamento della legge sul blocco dei licenziamenti? Forse si...

Time Series Forecasting - 2¶

Healtcare: Hiring¶

SARIMAX_SANITA_ASSUNZIONI.png

In [96]:
# Printa le metriche di valutazione per il modello sarima
Evaluation_Metrics(test_San_Assunzioni,pred_San_Ass_Sarima.predicted_mean)
RMSE: 193.736538

7.2 - Forecasting Licenziamenti¶

Time Series Forecasting - 2¶

Healthcare: Firing¶

SARIMAX_SANITA_LICENZIAMENTI.png

In [103]:
# Printa le metriche di valutazione per il modello sarima
Evaluation_Metrics(test_San_Licenziamenti,pred_San_Lic_Sarima.predicted_mean)
RMSE: 120.870025

Our Conclusion¶

  • Due to the COVID affecting the Job market we are facing two scenarios:

    1. The Hiring Rates are globally lower than what we predicted ( makes sense ) the only exception in, as we saw, the healthcare branch (Personell was needed to face the Pandemic)

    2. Globallly, Firing Rates were lower aswell, probably also due the italian law named "Blocco dei licenziamenti". We have seen the reflection of this on the data

  • In the next years we expect the situation to become more adherent to our prediction (hopefully), meaning that the Job Market situation would stabilize and wiil keep back on track !

Thanks for the attention !¶

In [104]:
# Joshua Bonacina - Mirco Gallazzi